package com.pactera.madp.cp.api.entity.sync;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 采集信息表
 *
 * @author deming.chang
 * @email deming.chang@gientech.com
 * @date 2022-05-11 19:45:03
 */
@Data
@Accessors(chain = true)
@TableName("cp_sync_event")
public class SyncEventEntity extends Model<SyncEventEntity> {

    /**
     * 主键（MGR集群必须有主键）
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 事件名称
     */
    private String event;

    /**
     * 数据日期
     */
    private String date;

    /**
     * 数据时间
     */
    private String time;

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 用户标识
     */
    private String distinctId;

    /**
     * 推荐人ID
     */
    private String recommendId;

    /**
     * 扩展信息
     */
    private String extra;

    /**
     * 事件数据到达事件
     */
    private Long receiveTime;

    /**
     * 关联原始ID
     */
    private String trackSignupOriginalId;

    /**
     * 操作系统
     */
    private String os;

    /**
     * 操作系统版本
     */
    private String osVersion;

    /**
     * 设备型号
     */
    private String model;

    /**
     * 设备制造商
     */
    private String manufacturer;

    /**
     * 运营商
     */
    private String carrier;

    /**
     * 是否使用wifi
     */
    private Boolean wifi;

    /**
     * 网络类型
     */
    private String networkType;

    /**
     * 浏览器
     */
    private String browser;

    /**
     * 浏览器版本
     */
    private String browserVersion;


    /**
     * 屏幕宽度
     */
    private Integer screenWidth;

    /**
     * 屏幕高度
     */
    private Integer screenHeight;

    /**
     * 视区距顶部的位置
     */
    private Integer viewportPosition;

    /**
     * 视区宽度
     */
    private Integer viewportWidth;

    /**
     * 视区高度
     */
    private Integer viewportHeight;

    /**
     * SDK类型
     */
    private String lib;

    /**
     * 设备ID
     */
    private String deviceId;

    /**
     * 应用版本
     */
    private String appVersion;

    /**
     * 应用ID
     */
    private String appId;

    /**
     * 应用名称
     */
    private String appName;

    /**
     * 时区偏差
     */
    private String timezoneOffset;

    /**
     * 请求路径
     */
    private String url;

    /**
     * 页面路径
     */
    private String urlPath;

    /**
     * 页面域名
     */
    private String urlHost;

    /**
     * 前向地址
     */
    private String referrer;

    /**
     * 前向域名
     */
    private String referrerHost;

    /**
     * 页面名称
     */
    private String screenName;

    /**
     * 页面标题
     */
    private String title;

    /**
     * 是否首日访问
     */
    private Boolean isFirstDay;

    /**
     * 是否首次触发事件
     */
    private Boolean isFirstTime;

    /**
     * IP
     */
    private String ip;

    /**
     * 城市
     */
    private String city;

    /**
     * 省份
     */
    private String province;

    /**
     * 国家
     */
    private String country;

    /**
     * 页面停留时长
     */
    private float eventDuration;

    /**
     * 最近一次流量来源类型
     */
    private String latestTrafficSourceType;

    /**
     * 站外前向地址
     */
    private String latestReferrer;

    /**
     * 最近一次搜索引擎关键词
     */

    private String latestSearchKeyword;

    /**
     * 金融产品类型
     */
    private String financialType;

    /**
     * 金融产品代码
     */
    private String financialCode;

    /**
     * 金融产品名称
     */
    private String financialName;

    /**
     * 投资期限
     */
    private Integer buyPeriod;

    /**
     * 存款产品类型
     */
    private String depositType;

    /**
     * 存款产品编号
     */
    private String depositNumber;

    /**
     * 存款产品名称
     */
    private String depositName;

    /**
     * 贷款产品类型
     */
    private String loanType;

    /**
     * 贷款产品编号
     */
    private String loanCode;

    /**
     * 贷款产品名称
     */
    private String loanName;

    /**
     * 信用卡产品类型
     */
    private String creditType;

    /**
     * 信用卡产品编号
     */
    private String creditCode;

    /**
     * 信用卡产品名称
     */
    private String creditName;

    /**
     * 活动类型
     */
    private String activityType;

    /**
     * 活动编码
     */
    private String activityCode;

    /**
     * 活动入口类型
     */
    private String activityEntranceType;

    /**
     * 活动名称
     */
    private String activityName;

    /**
     * 资讯类型
     */
    private String infoType;

    /**
     * 资讯二级分类
     */
    private String infoSubType;

    /**
     * 资讯编号
     */
    private String infoNumber;

    /**
     * 资讯标题名称
     */
    private String infoName;

    /**
     * 资讯来源
     */
    private String infoSource;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 修改时间
     */
    private LocalDateTime updateTime;
    /**
     * 删除标记
     */
    private String delFlag;
    /**
     * 租户ID
     */
    private Integer tenantId;
}
